﻿using WPay.Domain.Base;
using WPay.Domain.Model.DTOs;
using System;
using System.Collections.Generic;
using System.Text;

namespace WPay.Domain.MainModule.Interface.DomainServices
{
    /// <summary>
    /// Token 领域服务接口
    /// 生成Token并存入Redis，在其余api控制器中，通过从Redis进行校验token值是否合法
    /// </summary>
    public interface IToken_DomainService: IDomain_IocServices
    {

        /// <summary>
        /// 获取token
        /// </summary>
        /// <param name="tokenDto">Token模型</param>
        /// <returns></returns>
        bool GetToken(ref TokenDTO tokenDto);
        /// <summary>
        /// 校验token
        /// </summary>
        /// <param name="_token">Token字符串</param>
        /// <param name="_appID">输出当前token中的AppID及Sub</param>
        /// <returns>是否通过【true:通过；false:未通过】</returns>
        bool CheckToken(string _token, out string _appID);
    }
}
